package com.settlement.system.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.settlement.system.model.entity.SysLoss;
import com.baomidou.mybatisplus.extension.service.IService;
import com.settlement.system.model.entity.SysPlatform;
import com.settlement.system.model.form.LossForm;
import com.settlement.system.model.form.PlatformForm;
import com.settlement.system.model.query.LossPageQuery;
import com.settlement.system.model.query.PlatformPageQuery;
import com.settlement.system.model.query.UserPageQuery;
import com.settlement.system.model.vo.LossResultVo;
import com.settlement.system.model.vo.SysLossImportVo;
import com.settlement.system.model.vo.UserExportVO;

import java.util.List;

/**
 * <p>
 * 用户信息表 服务类
 * </p>
 *
 * @author huangrensen
 * @since 2023-08-24
 */
public interface SysLossService extends IService<SysLoss> {
    /**
     * 损失细类表分页列表
     *
     * @return
     */
    Page<SysLoss> getPage(LossPageQuery queryParams);


    /**
     * 获取损失细类表表单数据
     *
     * @param lossId
     * @return
     */
    SysLoss getLossFormData(Long lossId);


    /**
     * 保存损失细类表
     *
     * @param lossForm 损失细类表表单对象
     * @return
     */
    boolean saveLoss(LossForm lossForm);

    /**
     * 删除损失细类表
     *
     * @param idsStr 损失细类表ID，多个以英文逗号(,)分割
     * @return
     */
    boolean deleteLosses(String idsStr);

    // 批量导入更新
    void importBatch(List<SysLossImportVo> vos);

    List<SysLossImportVo> listExportLosses();

    LossResultVo nextCode(String code);

    List<LossResultVo> listAll();
}
